<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JavaScript 基础 - 隐式转换</title>
</head>
<body>
  <!-- 隐式类型转换 -->
  <script> 
    // 从单选，复选框...获取进来的数据默认字符串类型
    // + 号，有一个操作数为字符串，就转换为字符串拼接
    let num = 13 // 数值
    let num2 = '2' // 字符串

    // 结果为 132
    // 原因是将数值 num 转换成了字符串，相当于 '13'
    // 然后 + 将两个字符串拼接到了一起
    console.log(num + num2)

    // - % / 把操作数转换成数字型
    // 结果为 11
    // 原因是将字符串 num2 转换成了数值，相当于 2
    // 然后数值 13 减去 数值 2
    console.log(num - num2)

    let a = prompt('请输入一个数字')
    let b = prompt('请再输入一个数字')
    
    alert(a + b);
    //+ 另外一个用途，把字符串转换成数字型
    console.log(+'123') //转换成123(number)
  </script>

  <!-- 显式类型转换 -->
   <script>
    let str = '123'
    console.log(Number(str))
    console.log(Number('pink'))
    /*两种转换法*/
    // let num = Number(prompt('输入年薪'))
    // let num = +prompt('输入年薪')
    // console.log(Number(num))
    // console.log(num)
    //只保留整数部分(注意NaN也是数字类型，表示非数字)
    console.log(parseInt('12px')) //12
    console.log(parseInt('12.34px')) //12
    console.log(parseInt('12.94px')) //12
    console.log(parseInt('abc12.94px')) //NaN

    // -------------------保留到小数
    console.log(parseFloat('12px')) // 12
    console.log(parseFloat('12.34px')) // 12.34
    console.log(parseFloat('12.94.23px')) // 12.94
    console.log(parseFloat('abc12.94px')) // 12.94
   </script>
</body>
</html>